package com.alipay.api.domain;

import java.util.List;

import com.alipay.api.AlipayObject;
import com.alipay.api.internal.mapping.ApiField;
import com.alipay.api.internal.mapping.ApiListField;

/**
 * 蚂蚁会员V3权益修改接口
 *
 * @author auto create
 * @since 1.0, 2017-06-15 15:43:39
 */
public class AlipayUserNewbenefitModifyModel extends AlipayObject {

	private static final long serialVersionUID = 8622792218889772756L;

	/**
	 * 权益关联的专区码 ,需要联系蚂蚁会员平台的业务负责人进行专区码分配
	 */
	@ApiField("area_code")
	private String areaCode;

	/**
	 * 权益Id，用于定位需要编辑的权益，通过权益创建接口获取得到，调用创建接口后，将权益Id妥善存储，编辑时传入
	 */
	@ApiField("benefit_id")
	private Long benefitId;

	/**
	 * 权益的名称，由商户自行定义
	 */
	@ApiField("benefit_name")
	private String benefitName;

	/**
	 * 权益的副标题，用于补充描述权益
	 */
	@ApiField("benefit_sub_title")
	private String benefitSubTitle;

	/**
	 * 权益详情描述
	 */
	@ApiField("description")
	private String description;

	/**
	 * 当权益为非差异化时，该字段生效，用于控制允许兑换权益的等级
	 */
	@ApiField("eligible_grade_desc")
	private String eligibleGradeDesc;

	/**
	 * 权益展示结束时间，使用Date.getTime()。结束时间必须大于起始时间。
	 */
	@ApiField("end_dt")
	private Long endDt;

	/**
	 * 兑换规则以及不满足该规则后给用户的提示文案，规则id和文案用:分隔；可配置多个，多个之间用,分隔。(分隔符皆是英文半角字符)规则id联系蚂蚁会员pd或运营提供
	 */
	@ApiField("exchange_rule_ids")
	private String exchangeRuleIds;

	/**
	 * 权益等级配置
	 */
	@ApiListField("grade_config")
	@ApiField("benefit_grade_config")
	private List<BenefitGradeConfig> gradeConfig;

	/**
	 * 权益展示时的图标地址，由商户上传图片到合适的存储平台，然后将图片的地址传入
	 */
	@ApiField("icon_url")
	private String iconUrl;

	/**
	 * 需要被移除的等级配置
	 */
	@ApiField("remove_grades")
	private String removeGrades;

	/**
	 * 权益展示的起始时间戳，使用Date.getTime()获得
	 */
	@ApiField("start_dt")
	private Long startDt;

    /**
     * Gets area code.
     *
     * @return the area code
     */
    public String getAreaCode() {
		return this.areaCode;
	}

    /**
     * Sets area code.
     *
     * @param areaCode the area code
     */
    public void setAreaCode(String areaCode) {
		this.areaCode = areaCode;
	}

    /**
     * Gets benefit id.
     *
     * @return the benefit id
     */
    public Long getBenefitId() {
		return this.benefitId;
	}

    /**
     * Sets benefit id.
     *
     * @param benefitId the benefit id
     */
    public void setBenefitId(Long benefitId) {
		this.benefitId = benefitId;
	}

    /**
     * Gets benefit name.
     *
     * @return the benefit name
     */
    public String getBenefitName() {
		return this.benefitName;
	}

    /**
     * Sets benefit name.
     *
     * @param benefitName the benefit name
     */
    public void setBenefitName(String benefitName) {
		this.benefitName = benefitName;
	}

    /**
     * Gets benefit sub title.
     *
     * @return the benefit sub title
     */
    public String getBenefitSubTitle() {
		return this.benefitSubTitle;
	}

    /**
     * Sets benefit sub title.
     *
     * @param benefitSubTitle the benefit sub title
     */
    public void setBenefitSubTitle(String benefitSubTitle) {
		this.benefitSubTitle = benefitSubTitle;
	}

    /**
     * Gets description.
     *
     * @return the description
     */
    public String getDescription() {
		return this.description;
	}

    /**
     * Sets description.
     *
     * @param description the description
     */
    public void setDescription(String description) {
		this.description = description;
	}

    /**
     * Gets eligible grade desc.
     *
     * @return the eligible grade desc
     */
    public String getEligibleGradeDesc() {
		return this.eligibleGradeDesc;
	}

    /**
     * Sets eligible grade desc.
     *
     * @param eligibleGradeDesc the eligible grade desc
     */
    public void setEligibleGradeDesc(String eligibleGradeDesc) {
		this.eligibleGradeDesc = eligibleGradeDesc;
	}

    /**
     * Gets end dt.
     *
     * @return the end dt
     */
    public Long getEndDt() {
		return this.endDt;
	}

    /**
     * Sets end dt.
     *
     * @param endDt the end dt
     */
    public void setEndDt(Long endDt) {
		this.endDt = endDt;
	}

    /**
     * Gets exchange rule ids.
     *
     * @return the exchange rule ids
     */
    public String getExchangeRuleIds() {
		return this.exchangeRuleIds;
	}

    /**
     * Sets exchange rule ids.
     *
     * @param exchangeRuleIds the exchange rule ids
     */
    public void setExchangeRuleIds(String exchangeRuleIds) {
		this.exchangeRuleIds = exchangeRuleIds;
	}

    /**
     * Gets grade config.
     *
     * @return the grade config
     */
    public List<BenefitGradeConfig> getGradeConfig() {
		return this.gradeConfig;
	}

    /**
     * Sets grade config.
     *
     * @param gradeConfig the grade config
     */
    public void setGradeConfig(List<BenefitGradeConfig> gradeConfig) {
		this.gradeConfig = gradeConfig;
	}

    /**
     * Gets icon url.
     *
     * @return the icon url
     */
    public String getIconUrl() {
		return this.iconUrl;
	}

    /**
     * Sets icon url.
     *
     * @param iconUrl the icon url
     */
    public void setIconUrl(String iconUrl) {
		this.iconUrl = iconUrl;
	}

    /**
     * Gets remove grades.
     *
     * @return the remove grades
     */
    public String getRemoveGrades() {
		return this.removeGrades;
	}

    /**
     * Sets remove grades.
     *
     * @param removeGrades the remove grades
     */
    public void setRemoveGrades(String removeGrades) {
		this.removeGrades = removeGrades;
	}

    /**
     * Gets start dt.
     *
     * @return the start dt
     */
    public Long getStartDt() {
		return this.startDt;
	}

    /**
     * Sets start dt.
     *
     * @param startDt the start dt
     */
    public void setStartDt(Long startDt) {
		this.startDt = startDt;
	}

}
